/**
 * @Title: CameraPhotoStateCheckTask.java
 * @Package com.sinotn.ks.node.camera.job
 * @Description: TODO
 * Copyright: Copyright (c) 2015
 * Company:北京信诺软通
 */
package com.sinotn.ks.node.camera.job;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;

import com.sinotn.SinotnLogger;
import com.sinotn.ks.definition.ExamEngine;
import com.sinotn.ks.node.camera.service.CameraService;

/**
 * @Title CameraPhotoStateCheckTask.java
 * @Package com.sinotn.ks.node.camera.job
 * @Description Copyright: Copyright (c) 2015 Company:北京信诺软通
 *
 * @author <a href="mailto:liyunfeng@sinotn.com">李云峰</a>
 * @date 2017年6月23日 下午2:46:23
 * @version V1.0
 */
public class CameraPhotoStateCheckTask {
	private static final Logger logger = LoggerFactory.getLogger("com.sinotn");
	@Autowired
	private CameraService cameraService;
	@Autowired
	private ExamEngine examEngine;

	public volatile int errCount = 0;

	/**
	 * cron表达式：* * * * * *（共6位，使用空格隔开，具体如下）
	 * cron表达式：*(秒0-59) *(分钟0-59) *(小时0-23)
	 * (日期1-31) *(月份1-12或是JAN-DEC) *(星期1-7或是SUN-SAT)
	 */
	public void photoProcessStart() {
		try {
			// 照片比对
			if(this.examEngine.getExamineeSize()>0){
				cameraService.photoCompareAutoHandle();
				// 发送消息给管理机
				cameraService.sendWarnCountToComputer();
			}
			// test
			//			this.testException();
		} catch (RuntimeException e) {
			errCount++;
			if (errCount <= 5) {
				SinotnLogger.DEBUG.error("照片对比时发生错误：", e);
				logger.error(e.getLocalizedMessage());
			}
		}
	}

	//	private void testException() {
	//		throw new RuntimeException("这个异常信息打印5次就不要再打印了。。。。");
	//	}
}
